// pages/xinlongdetail/xinlongdetail.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        query:{},
        dataList:[],
        page:1,//默认是第一页
        pageSize:10,//一页有10条数据
        total:0,//总共的数据条数
        flag:false
    },
    /* _page 表示请求的是第几页
       ——limit 表示每页请求几条数据 
    */
    getData(){
        console.log('发送网络数据请求');
        // 数据加载时显示showloading效果
        wx.showLoading({
            title:'数据加载中...'
        })
        this.setData({
            flag:true
        })
        wx.request({
          url: `https://www.escook.cn/categories/${this.data.query.id}/shops`,
          data:{
              _page:this.data.page,
              _limit:this.data.pageSize
          },
          success:(res)=>{
              console.log(res);
              this.setData({
                //   this.data.dataList + res.data
                  dataList:[...this.data.dataList,...res.data],
                  total:res.header['X-Total-Count'] * 1
              })
          },
        //  当数据请求完成之后触发该函数
          complete:()=>{
            //   打开节流阀
              this.setData({
                  flag:false
              })
            //   数据加载完毕后loading隐藏
            wx.hideLoading();
          }
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.log(options);
        this.setData({
            query:options
        })
        wx.setNavigationBarTitle({
          title: this.data.query.title,
        })
        this.getData();
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        console.log('下拉刷新');
        // 下拉刷新 将数据重置 回归到初始状态
        this.setData({
            page:1,
            dataList:[],
            total:0
        })
        // 重新发送网络数据请求
        this.getData();
        /* 当所有逻辑完成之后，手动关闭下拉刷新效果 */
        wx.stopPullDownRefresh();
    },

    /**
     * 页面上拉触底事件的处理函数
     * 上拉加载
     */
    onReachBottom() {
        console.log('上拉触底');
        if(this.data.page * this.data.pageSize >= this.data.total){
            wx.showToast({
              title: '数据加载完成',
              icon:"none"
            })
            return;
        }
        // 节流阀 关卡  是否发送网络数据请求
        // 当第一次数据请求完成后  进入第二下拉刷新 目的进入网络数据请求
        // this.data.flag false
        // 当第一次数据请求没有完成 不希望 第二下拉刷新 目的不进入网络数据请求
        // this.data.flag true
        if(this.data.flag) return 

        // 服务器发送网络数据
        // page +1
        this.setData({
            page:this.data.page + 1
        });
        // 发送网络请求 请第二页数据 新的10条
        this.getData();
        // 当请求的数据请求完毕后，告诉用户 数据已经请求完了
        // 当 页码 * 每一页的数据的条数 >= 数据的总条数时，数据请求完毕

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})